23

» WarCraft 3 / Триггеры. Волны врагов.

Похожие вопросы:

ответ
Я сам разобрался с проблемой. Конечно тут две новые появились, но на них забью уже:
  1. ИИ не нравился герой, из-за него вообще никто не нанимался.
  2. ИИ посчитал, что улучшив главное здание, он лишается главного здания, а значит нужно его снова строить. То есть, например, улучшив ратушу до крепости, он считает, что ратуши больше нет и необходимо построить ещё одну. Потом он крепость улучшит до замка, посчитает, что разрушили крепость, улучшит до крепости ратушу№2, снова потеряет ратушу и построит уже третью.
ответ
Да сделай проще. Создай многоуровневую способность-пустышку. и когда отдаешь приказ атаковать в область, давай ему эту способность и с помощью неё отслеживай, какую область атаковать.
Например,
способность уровень 1, значит атаковать должен 1 область.
Уровень 2 - 2 область и т. д.
Не вижу смысла усложнять жизнь с хеш-таблицей.
Надеюсь понятно?) Отдал приказ, присвоил способность, после каста жди пару сек и в зависимости от уровня способности-пустышки отправляй в ту или иную область.

23

» WarCraft 3 / Уменьшение перезарядки

Похожие вопросы:

ответ
Если тебе нужна формула, то глянь вот тут:
ответ
TeX13, можно, сделано в доте для варкравта...
Способов реализации много, от 'ANeg' (способность механика, Enginering Upgrade, рус-Техника), которым можно свапать скиллы, до таймеров которые будут удалять способность у героя а потом вручать ему снова, таким образом скидывая кулдаун, ну и так же хак на пямять, с помощью которого можно менять кулдаун как захочется, щяс все кому не лень юзают эту наработку.

23

» WarCraft 3 / Юниты нейтралы не достигают цели

Похожие вопросы:

ответ
Работай с real (числа с запятой) вместо регионов, занеси в бд или проверяй условиями нужные координаты и выбирай.
Точка не будет утекать, если хранить одну точку в глобальной переменной и для мгновенных операций перемещать ее и использовать дальше по назначению.
  1. В шапку над триггерами вставляешь этот код:
function RegionInit takes nothing returns nothing
//17/11/2016
    set udg_GL = Location(0.0, 0.0)
    set udg_RegionNumber = GetRandomInt(1, 4) // выбрать количество регионов
    set udg_RegionX1 = GetRectMinX(udg_Region[udg_RegionNumber])
    set udg_RegionY1 = GetRectMinY(udg_Region[udg_RegionNumber])
    set udg_RegionX2 = GetRectMaxX(udg_Region[udg_RegionNumber])
    set udg_RegionY2 = GetRectMaxY(udg_Region[udg_RegionNumber])
endfunction

  1. Создаешь глобальные переменные типа:
    • точка с названием GL
    • регион массив с названием Region
    • целочисленная с названием RegionNumber - для хранения номера выбранного региона
    • реальное число с названиями RegionX1, RegionX2, RegionY1, RegionY1 - для хранения координат выбранного региона
После действий на картинке в инициализацию вставляешь кастом скрипт:
call RegionInit()

  1. Перед каждым созданием юнита вставляешь кастом скрипт:
call MoveLocation(udg_GL, GetRandomReal(udg_RegionX1, udg_RegionX2), GetRandomReal(udg_RegionY1, udg_RegionY2))
В окне действия с созданием юнита используешь свою переменную GL
ответ
Лови карту.
ответ
Steal nerves:
циклом (данного юнита от 1-6 слотов, на jass от нумерация слотов начинается так 0-5) пробегаешься по каждому слоту и проверяешь тип, кол-во зарядов. я на гуи что-то не нашел эту команду UnitItemInSlot
native UnitItemInSlot takes unit whichUnit, integer itemSlot returns item
кол-во итемов
ищем в каждом слоте один и тот же тип предмета. Этот код считывает кол-во итемов занимаемые в слотах
local integer id = ''//id-предмета, забудь указать в кавычках ид
local integer i=0 //для цикла
local integer c=0 //кол-во предметов
local unit u = //нужно не забыть указать юнита
//внизу начинается цикл, его блок 
loop //начало цикла
    exitwhen i > 5 //условие выхода из цикла
    if GetItemTypeId(UnitItemInSlot(u,i)) == '' then //если тип в слоте равен ....
        set c = c + 1
    endif
    set i = i + 1
endloop //конец цикла
кол-во предметов данного типа с N зарядами
local integer id = '' //id-предмета, забудь указать в кавычках ид
local integer i=0 //для цикла
local integer c=0 //кол-во предметов
local unit u = //нужно не забыть указать юнита
loop
    exitwhen i > 5

    if GetItemTypeId(UnitItemInSlot(u,i)) == id or GetItemCharges(UnitItemInSlot(u,i)) == 5 then //если тип в слоте такой, и и у этого итема зарядов равно 5
        set c = c + 1
    endif
    set i = i + 1
endloop
set u = null
ответ
добавляешь обоих
блокируешь улучшенного при старте карты всем игрокам
лучший и простейший вариант
ответ
без мемхака - нет

23

» WarCraft 3 / Волны врагов

Похожие вопросы:

ответ
Стандартная карта близов Обелиск. попробуй, она хороша
ответ
Да сделай проще. Создай многоуровневую способность-пустышку. и когда отдаешь приказ атаковать в область, давай ему эту способность и с помощью неё отслеживай, какую область атаковать.
Например,
способность уровень 1, значит атаковать должен 1 область.
Уровень 2 - 2 область и т. д.
Не вижу смысла усложнять жизнь с хеш-таблицей.
Надеюсь понятно?) Отдал приказ, присвоил способность, после каста жди пару сек и в зависимости от уровня способности-пустышки отправляй в ту или иную область.
ответ
Мб "Дистанция получения приказа" в редакторе объектов поставить на 99999, и дать игроку-компу чьи мобы видимость на всю карту.
ответ
Был подобный вопрос, там есть карта: xgm.guru/p/wc3/199494.

23

» WarCraft 3 / Самая Страшная Утечка

Похожие вопросы:

ответ
в самой последней строке самой последней функции присваивай какое-то значение глобалке и будет тебе счастье знать, что всё закончилось успешно

23

» WarCraft 3 / Вопрос кодерам.

Похожие вопросы:

ответ
А еще лучше - скинуть ссыль на какую-нибудь статью со списком callчто-то там команд.
ответ
Ну, перенеси всё это clawbfs.ucoz.ru/forum/3-2-1 и итемы и две игровые карты с кучей режимов и сотни шапок и т. д. + в 2 раза больше новых идей clawbfs.ucoz.ru/forum/7 clawbfs.ucoz.ru/forum/16-1571-1 clawbfs.ucoz.ru/forum/9 со всеми функциями варкрафта (а их там всё же не так уж и мало) в игру на юнити или ещё куда в один присест, сделай дело доброе.
Бтв, про сбор команды - для продвинутых сущностей нередко исправлять за другими оказывается тяжелее, чем делать самому, важно создать максимально комфортные условия для созидания, вот для чего деньги не лишние, а уж дело и самому можно делать.
И, да, тема-то не про то, надо это или не надо, а про то, как лучше это сделать, я про это и в стартовом сообщении написал.
Я на крайний сам вопрос по варианту 3 проверю и/или будет сделан выбор между третьим вариантом, вторым, каким-то ещё и отказом от Cooldown Reduction, но если кто поможет - спасибо.
ответ
Друга зачем? Нинада, так толку не будет...
Просто используешь Inject main (vjass) или Define (Cjass) чтобы убрать 1 только строчку из main
//***************************************************************************
//*
//*  Map Configuration
//*
//***************************************************************************

//***************************************************************************
//*
//*  Main Initialization
//*
//***************************************************************************

//===========================================================================
function main takes nothing returns nothing
    call SetCameraBounds(- 3328.0 + GetCameraMargin(CAMERA_MARGIN_LEFT), - 3584.0 + GetCameraMargin(CAMERA_MARGIN_BOTTOM), 3328.0 - GetCameraMargin(CAMERA_MARGIN_RIGHT), 3072.0 - GetCameraMargin(CAMERA_MARGIN_TOP), - 3328.0 + GetCameraMargin(CAMERA_MARGIN_LEFT), 3072.0 - GetCameraMargin(CAMERA_MARGIN_TOP), 3328.0 - GetCameraMargin(CAMERA_MARGIN_RIGHT), - 3584.0 + GetCameraMargin(CAMERA_MARGIN_BOTTOM))
    call SetDayNightModels("Environment\\DNC\\DNCLordaeron\\DNCLordaeronTerrain\\DNCLordaeronTerrain.mdl", "Environment\\DNC\\DNCLordaeron\\DNCLordaeronUnit\\DNCLordaeronUnit.mdl")
    call NewSoundEnvironment("Default")
    call SetAmbientDaySound("SunkenRuinsDay")
    call SetAmbientNightSound("SunkenRuinsNight")
    call SetMapMusic("Music", true, 0)
    call InitBlizzard() // вот и все, удалим и не будет бж объектов.


    call InitGlobals()
    call InitCustomTriggers()
    call RunInitializationTriggers()

endfunction
Совсем забыл, функция main генерируется при сохранении карты в редакторе
Без cjass или vjass придется выколупывать war3map.j (код карты) файл из карты и править ручками в блокнотике, геморойно до безобразия, за то ненужен c\vjass и его знания.
ответ
Visual Studio Code нормально кириллицу в .j файлах отображает.
Да и подсветка там неплохая

23

» WarCraft 3 / название шрифта

Принятый ответ
Похожие вопросы:

ответ
Эмм что за ерунда, сократил код, убрав всё лишнее, но утечки все равно остаются, по 1.5 - 2 хэндла за каждое нанесение урона (тип хэндла не знаю как посмотреть). Когда триггер отключаешь, то всё нормально.
Сокращенный код
function SDMSCreateTextTag takes nothing returns nothing
    local unit u=GetTriggerUnit()
    local unit s=GetEventDamageSource()
    local integer i=GetConvertedPlayerId(GetOwningPlayer(u))
    local texttag tt=CreateTextTag()
    local real dmg=GetEventDamage()

    if ( dmg > 1.00 ) and ( dmg < 9999.00 ) then
        if GetPlayerId(GetOwningPlayer(u))==12 then
            call SetTextTagText(tt, "|cff9db9eb-"+I2S(R2I(dmg))+"|r", 0.023)
        else
            call SetTextTagText(tt, "|cffffa500-"+I2S(R2I(dmg))+"|r", 0.023)
        endif
        call SetTextTagPosUnit(tt, u, 0)
        call SetTextTagColor(tt, 255, 255, 255, 255) 
        call SetTextTagVelocity(tt, 0.05325*Cos(90 * bj_DEGTORAD), 0.05325*Sin(90 * bj_DEGTORAD))
        call SetTextTagPermanent(tt, false)
        call SetTextTagLifespan(tt, 1.0)
        call SetTextTagFadepoint(tt, 0.0)
    endif
    call PolledWait(2.0)

    call DestroyTextTag(tt)
    set u=null
    set s=null
    set i=0
    set dmg=0
    set tt=null
endfunction

function SDMSTriggerRegisterUnitDamaged takes nothing returns nothing
    call TriggerRegisterUnitEvent(udg_SDMStrigger,GetEnteringUnit(),EVENT_UNIT_DAMAGED)
endfunction

function theSDMSTriggerActions takes nothing returns nothing
    local trigger UnitEnter=CreateTrigger()

    call TriggerRegisterEnterRectSimple(UnitEnter, gg_rct_Arena)
    call TriggerAddAction(UnitEnter,function SDMSTriggerRegisterUnitDamaged)

    set UnitEnter=null
endfunction

function InitTrig_the_SDMS_Trigger takes nothing returns nothing
    local trigger tr=CreateTrigger()

    set udg_SDMStrigger=CreateTrigger()//Тут также меняется название глобальной переменной типа триггер.
    call TriggerAddAction(udg_SDMStrigger,function SDMSCreateTextTag)
    call TriggerRegisterTimerEventSingle(tr,0.0)
    call TriggerAddAction(tr,function theSDMSTriggerActions)

    set tr=null
endfunction
Wait вызывает утечки ((
Пришлось делать через таймер

23

» WarCraft 3 / Проблема с размером текстуры порчи

Похожие вопросы:

ответ
~16GB:
function move takes integer i returns nothing
    local unit u = udg_unit[i] // дамми снаряда
    local location p = GetUnitLoc(u)
    local location p2 = udg_point[i] // таргет спелла
    local real a
if DistanceBetweenPoints(p, p2) > 100 then
   set a = AngleBetweenPoints(p, p2)
   call MoveLocation(p, GetLocationX(p) + 10 * CosBJ(a), GetLocationY(p) + 10 * SinBJ(a))
   call SetUnitPositionLoc( u, p )
else
    call KillUnit( u )
    call RemoveLocation(p2)
    set udg_unit[i] = udg_unit[udg_number]
    set udg_point[i] = udg_point[udg_number]
    set udg_i = udg_i-1
    set udg_number = udg_number -1
    call PolledWait(0.5)
    call RemoveUnit(u)
endif
    set u = null
    call RemoveLocation(p)
    set p = null
    set p2 = null
    set a = 0
endfunction
Ты удалял точку сразу
ответ
Исключи курьера из условий проверки уровней..

Добавь условие: Проверка Типа Юнита (Юнит Триггера) != (не равно) Курьер
ответ
да вот только thistype возвращает структуру из которой он вызван, а не структуру инстанса идентификатора, т.е. getTrack будет всегда возвращать тип Tracker. Вопрос в том, как по идентификатору определить конкретный тип структуры и к нему привести.
Этот код тестировал? Он должен работать.

Структуры в vJass - массивы. Объект структуры - integer.
У каждой структуры есть массив, куда записывается тип каждого объекта структуры. Пусть у Trackle айди 1, а у Button 2. При создании объекта структуры будет сделано следующее: set массив_куда_записывается_тип[объект_структуры] = айди_структуры. При создании объекта Button и в массив типа структуры Button, и в массив структуры Trackle будет записано 2.

Перезаписываемые методы - массив триггеров, у которых в качестве условия записано тело метода.
Вызов такого метода - call TriggerEvaluate(массив_триггеров[массив_куда_записывается_тип[объект_структуры]]).
В нашем случае это будет выглядеть call TriggerEvaluate(массив_триггеров_OnTrack[массив_куда_записывается_тип[getTrack(h)]]).

Потому должно работать.
ответ
~8gabriel8:
Недавно сделал человеку универсальный триггер для таких случаев, который работает и в алтаре, и в таверне.
Событие: Юнит входит в область (Вся игровая карта)
Условие: (Триггеринг юнит) равно Герой равно Да
Действие: Игрок - Установить лимит юнита (тип юнита (Триггеринг юнит)) для игрока (Owner of unit (Триггеринг юнит)) в 1
ответ
~8gabriel8:
Это жесть, что ты сделал) Этот русификатор триггеров уж такую муть содержит, что ты просто какую-то белиберду сотворил. Исправил до рабочего вида, но чтобы совсем красиво было, это не ко мне, а к джассерам. Просто времени мало на всё, а исправление этих триггеров затратило его довольно много.

23

» WarCraft 3 / Проблема с источниками частиц модели

Похожие вопросы:

ответ
  1. в 1 вопросе может быть лишь 1 вопрос
  2. если для юнита то просто меняй размер юнита в ро иначе смотри пункт 2
  3. раздел 4
  4. уже ответили иначе смотри пункт 2
ответ
закрыт по таймауту
ответ
dave_wwid, прикрепляя к "cylinder02" ээфект работает когда модель перемещается в оба направления но изза вращения эффект отображается некорректно. Если прикреплять к другим костям то эффект ленты как и раньше появляется ток когда снаряд движется задом на перед.
Проблему решил поставив в материале галочку на twoside
ответ
нет, birth не вшита в stand...
автор просто немного накосячил с анимацией видимости...
держи...
на этот раз бесплатно и без смс..)
ответ
~8gabriel8:
Считаю, лучше отредактировать модель.
Вот в эту тему кинь её xgm.guru/p/wc3/wc3-ne-rabotaet-mdx

23

» WarCraft 3 / Помогите вспомнить карту, пожалуйста!

Похожие вопросы:

ответ
закрыт по таймауту
ответ
~8gabriel8:
DemonoiD:
В 2017 году, ни один человек ещё не научился этого делать. Даже хгм-бот игнорирует данный вопрос. Возможно, как узнаешь секрет, стоит написать статью об этом.
Хорошо, я вспомнил)
Надо в свойствах клана поставить галку Фикс. параметры игрока. Просто установить расы, как на приложенном скрине, не прокатывает.

23

» WarCraft 3 / Стрелочка над героем

Похожие вопросы:

ответ
отменять постройку юнита если технология уже ап
либо как сразу говорили через ап здания
где каждому твоему зданию будет соответствовать такое же здание но с дополнительным слотом
с продажей юнита открываешь доту и смотришь как там сделан спелл передать предметы у куры
он сделан как раз через продажу юнита
иначе никак
если не нравится пожалуйся богу об этом
или близардам
пусть выпустят новый патч специально для тебя

23

» WarCraft 3 / Как сделать рандомные числа?

Похожие вопросы:

ответ
Ну у мастера клинка способность то посложнее...
Вот пример:
Для начала нам нужно создать иллюзии героя, а потом скрыть всех их, так же сделав визуальный эффект (если что то зеленые тени, это снаряды).
ответ
Перед созданием юнитов записать в переменную случайное число, а после - сделать проверку через If / Then / Else. Если (переменная) = 1, то дать каждому юниту в playarena[integer B] нужный предмет.
ответ
Proshel_Doty, иди учи тер вер
если тебя не устраивает то как работает здравый смысл то убей себя
если тебе повезёт то ты переродишься в мире который тебя устраивает
если хочешь чтобы срабатывала каждые 5 раз то это не случайность а тупо счётчик
ответ
Есть стандартная способность "Бродячий". Она задает рандомное движение всяким птицам, жабам и прочим нейтральным зверюшкам, которых в то же время можно убить. Я бы попробовал ее использовать, но не уверен, что она не только для пассивных юнитов.

23

» WarCraft 3 / Как заменить текстуру ландшафта?

Похожие вопросы:

ответ
можно заменить стандартную на новую
тоесть обычная порча пропадает а появляется другая
ответ
Вот статья.
ответ
Да проще убрать полностью текстуру земли у здания и прилепить свою текстуру к точке крепления. Например, через способность.
Преимущество этого способа в том, что можно менять текстуру во время игры (дать другую способность, с другой текстурой).
Недостаток - прибавление веса карты (импортированная модель), но модель можно сделать плоской и квадратной (два треугольника, вес - ничтожный), а текстуру для неё взять стандартную (в той же папке с Splat-текстурами).
ответ
Насколько я знаю, типы склонов нельзя добавить или изменить в наборе.(Приходится изменять тип ленда и искать наиболее подходящий) но это можно сделать с помощью импорта нужной текстуры склона, вот пути... Там много своих нюансов.
ReplaceableTextures\Cliff\Cliff0.blp
ReplaceableTextures\Cliff\Cliff1.blp

23

» WarCraft 3 / Синхронизация переменных

Похожие вопросы:

ответ
Разработчики игры не доделали синхронизацию строк. Тебе придется искать обходные пути.

23

» WarCraft 3 / Удален

Похожие вопросы:

ответ
Ну тут только добавлать герою предметные абилки на повышение защиты, есть вроде же готовые системы добавления всего что только можно, хп-мп, защиту, скорость и так далее.
Гугли Custom Hero stat system.
Вот пример ссылочка

23

» WarCraft 3 / Как повернуть здания?

Принятый ответ
Похожие вопросы:

ответ
если нужно чтобы здание обязательно было зданием, то можно делать здание с нулевой моделью, потом сделать даммика-боевую еденицу со скоростью ходьбы выше 0 с моделью нашего здания и способностью москиты, так что его нельзя будет выбрать, и создавать наш даммик на месте здания без модели, так как даммика можно вращать, то можно иммитировать разворот здания.
If you know what i mean.
ответ
Отловить приказ постройки и ПОВЕРНУТЬ триггерно.
ответ
в наработках есть алгоритм поворота зданий
юзайте поиск
ответ
Есть система: xgm.guru/p/blog-maniac91/gate

23

» WarCraft 3 / Скрытые в .mpq модели

Похожие вопросы:

  1. mpq
ответ
Скачиваешь этот файл: xgm.guru/files/100/179980/comments/336580/War3Patch.txt
Далее открываешь архив War3Patch.mpq в редакторе mpq (например Ladik's MPQ Editor) и используешь файл в качестве listfile.
Модель будет лежать по этому пути: Units\Creeps\HeroTinker\HeroTinker.mdx
ответ
Maolink, тут скорее всего все вшито на уровне движка, Расса выбирается только до игры, в игре уже никак сменить низя.

23

» WarCraft 3 / Координаты панели

Похожие вопросы:

ответ
Можно дать юниту какую-нить абилку и все время через Force UI Key заставлять игрока ее нажимать пока этот юнит выбран
И как только он эту абилку использует, значит меню закрыто

23

» WarCraft 3 / Эффект при использовании способности

Похожие вопросы:

ответ
Ты это для опыта все такие вопросы задаешь?
Убрать у скила такое последствие или триггерно(как всегда).Поставь своему магу 0манны и скилу 0 и кд на скилл и отниматься не чего не будет.
ответ
Нет, дело в том что ветра и шипы неруба берут модель героя и крепят к кости спецэффекта, а потом ставят все на место ( Юнит а это время стоит на земле). Так что только кастом шипы. Можно посмотреть код в доте Фрога, там кто то умный писал заменитель шипов для доты.
ответ
В РО, такое невозможно сделать. Подробно на триггерах? Ну вот пример, а если нужно ещё подробнее, то учебник по Jass в руки.
На проклятие в РО,или любой другой спелл,ставится минимальная дистанция
function Trig_Spell_Actions takes nothing returns nothing
local location loc = Location(GetWidgetX(GetSpellAbilityUnit()),GetWidgetY(GetSpellAbilityUnit()))
local unit u = null
if GetSpellAbilityId() == 'АЙ ДИ СКИЛЛА' then
set u = CreateUnitAtLoc(GetOwningPlayer(GetSpellAbilityUnit()),'АЙ ДИ ДАММИ ЮНИТА-ЭФФЕКТА',loc,0.00)
call IssueTargetOrder(u,"curse",GetSpellTargetUnit())
endif
call RemoveLocation(loc)
set loc = null
endfunction

//===========================================================================
function InitTrig_Spell takes nothing returns nothing
    local integer i = 0
    set gg_trg_Spell = CreateTrigger()
    loop 
    exitwhen i > 12
        call TriggerRegisterPlayerUnitEvent(gg_trg_Spell, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null)
    set i = i + 1
    endloop
    call TriggerAddAction( gg_trg_Spell , function Trig_Spell_Actions )
endfunction
Потом тоже самое, только отследить каст проклятия, проверить тип юнита и удалить его из игры.
ответ
~8gabriel8:
ответ
Drulia_san, Ну да.
Добавляешь аурку - вот тебе баф на юните. Самый простой способ как по мне.
+Можно эффекты настроить, что вполне неплохо. Пока висит фейковый баф(наша аура) - на юните есть эффект.
Через дамми касты я пробовал, но долго+муторно+подключается дамми система = +лаги и местами утечки.
Насчёт таймаута - это уже по самим спеллам, я долго мучался чтобы оно всё работало как надо и не оверлапалось
Вот такой штукой у меня удаляется баф:
public function unitRemoveAbilityandBuffBY(unit u,integer dhv,integer mLv) returns boolean
	boolean b=UnitRemoveAbility(u,dhv)
  	UnitMakeAbilityPermanent(u,false,dhv)
  	UnitRemoveAbility(u,mLv)
	return b

23

» WarCraft 3 / Спец эффекты

Похожие вопросы:

ответ
Ну если со стандартным эффектом происходит то же самое - значит косяк с модели юнита
Если же нет - косяк в модели эффекта
ответ
zontik2012 нет, не является утечкой. Если бы ты крепил эффект к точке, к примеру в позиции юнита, причем не удалял бы эту точку потом - то это была бы утечка
ответ
"Скилл джаггера их доты" выложен в миллион и одном месте, даже я делал разбор - xgm.guru/p/wc3/omnislash
Реализация примитивна, мгновенное перемещение к цели и приказ атаковать, можно так же эмитировать атаку анимацией и уроном от лица героя как сделано в доте.

23

» WarCraft 3 / Баг в карте

Похожие вопросы:

ответ
Лучший ответ: Потому что так задумал автор карты
ответ
Свойства карты - Параметры - Нестандартное звуковое окружение. Там посмотри.
ответ
надо через шифт, чтобы не было ограничений
  1. один клик на поле с шансом, чтобы выделилось синим
  2. зажать шифт
  3. нажать энтер
  4. вводить свое число
  5. нажать ок
ответ
Таких багов много, почему то оптимизатор берет данные из слк таблиц игры на часть объектов, пробуй wc3ultimate opt, на хайве выложена... Мб кто уже и новый виджитайзер запилил.
ответ
Эффекты стакаются в одном регионе (и даже чуть дальше него) крайне сложным образом, и зависит их совместимость от равкода. Я, когда писал погоду для морлоков с этим сталкивался, и возможно описывал проблему... лет 10 назад) Лечится импортом своей таблицы с погодой и подборкой равкодов. Ну и как вариант для более сильного дождя например можно вместо попытки добавить 2 эффекта и той-же таблице просто прописать побольше частиц.

23

» WarCraft 3 / Описание предметов

Похожие вопросы:

ответ
Для большого описания нужно заменять кириллические буквы на аналогичные английские. о на o и т.д.
Кириллица в варике занимает места побольше.
ответ
Только костыльным методом подмены одного объекта на другой
ответ
|n - переход на новую строку
Ctrl + Enter - тоже переход

23

» WarCraft 3 / Проблема с анимацией атаки

Похожие вопросы:

ответ
Чтобы при подборе меча игрались анимации для меча - можно укзать
Анимация - add animation tag to unit - first например. Будут проигрываться attack first, walk first и т.д. При отсутствии таковых будут играться бестеговые анимации.
Теги не какие попало добавляются, насколько я помню.
Используемые теги: fast, victory, first, second,third, fourth, fifth, swim, ready, alternate.
ответ
Sergey120:
Darknessay, wc3-maps.ru/load/modeli_dlja_warcraft_3/modeli_iz_warhammer_dlja...
ledoed:
копируй эту модель, у одной оставь анимации для ближнего боя, у другой если нужно дальнего,а если те все анимации в одном нужны то перекликивай с помощью способностей(Перевоплощение(илидан),Аватар(горный король),свинкс(руной добавляй) и подобные) или тригерно с помощью функции call AddUnitAnimationProperties(u, "Alternate", false(true))
Удалил я ренж анимацию, теперь все милишные кривые писец, шо делать?